import sys
import os
import openpyxl
import openpyxl.styles
from openpyxl.styles import PatternFill


#进入工作目录，也就是当前py所在的文件夹
work_path=os.path.dirname(__file__)
#查找文件夹，看看有没有目标xlsx文件
s=os.listdir(work_path)

#列表出所有xlsx文件
ish=0
li=[]
for i in s:
    if i.find(".xlsx")>0:
        ish+=1
        print(str(ish)+" "+ i)
        li.append(i)
#选择xlsx文件
xlsx=input("请选择你的文件：")

xpath=work_path+"\\"+li[int(xlsx)-1]
#加载该文件
print(xpath)
wb:openpyxl.Workbook=openpyxl.load_workbook(xpath)

from openpyxl.utils import column_index_from_string
#列出该文件里的工作表
ish=0
for sh in wb.sheetnames:
    ish+=1
    print(str(ish)+":"+sh+"\n")
#选择工作表
select=input("请输入表格序号：")
ws=wb[wb.sheetnames[int(select)-1]]

#当前工作目录
current_path=work_path
#目录级别
dir_level=0

#返回上级目录（含级数）
def parent_dir(level,str_dir):
    if(level==0):
        return str_dir
    else:
        return parent_dir(level-1,os.path.dirname(str_dir))

#读取文件创建文件夹
for i in range(1,8000):#行
    for j in range(1,7):#列
        #当前进行中的表格的内容
        tc_text=str(ws.cell(row=i,column=j).value)
        #如果为exit就退出程序，创建文件夹任务结束
        if(tc_text=="exit"):
            exit()
        #如果是数字就创建文件夹，并进入该文件夹
        if(len(tc_text)>=2 and tc_text[:2].isdigit()):
            level_count=dir_level-j
            dir_level=j
            #如果当前目录级别小于目标目录级别，就创建文件夹并进入该文件夹
            if(level_count<0):
                os.mkdir(current_path+"\\"+tc_text)
                current_path=current_path+"\\"+tc_text
            #如果当前目录级别大于等于目标目录级别，就返回上多级目录，先创建好文件夹，再将当前工作目录切换到新文件夹
            elif(level_count>=0):
                current_path=parent_dir(level_count+1,current_path)
                os.mkdir(current_path+"\\"+tc_text)
                current_path=current_path+"\\"+tc_text

            
   
